import http from './interface'
import {
	userStore
} from '@/pinia';
/**
 * 将业务所有接口统一起来便于维护
 * 如果项目很大可以将 url 独立成文件，接口分成不同的模块
 * 
 */
// 单独导出(测试接口) import {test} from '@/common/vmeitime-http/'
export const req = (method, url, data, otherConfig) => {
	// http.config.baseUrl = "http://localhost:8080/api/"
	if (!otherConfig) {
		otherConfig = {}
	}
	//设置请求前拦截器
	http.interceptor.request = (config) => {
		const userStoreInfo = userStore();
		console.log('请求前拦截：', config);
		uni.showLoading({
			title: '加载中'
		})
		console.log('userStoreInfo.userInfo.token',userStoreInfo.userInfo.token);
		config.header = Object.assign(config.header, {
			"X-Front-Access-Token": userStoreInfo.userInfo.token,
			// 'Content-Type': 'application/x-www-form-urlencoded'
		})
	}
	//设置请求结束后拦截器
	http.interceptor.response = (response) => {
		console.log('请求后拦截器', response)
		uni.hideLoading()
		setTimeout(() => {
			uni.setStorageSync('tokenDie', 0)
		}, 4000)
		if (uni.getStorageSync('tokenDie')) return
		if (response.data.message == 'Token失效，请重新登录!' && response.data.code == 401) {
			uni.setStorageSync('tokenDie', 1)
			uni.removeStorageSync('userInfo')
			uni.showModal({
				title: '提示',
				content: '登录过期，请重新登录',
				showCancel: false,
				success: function(res) {
					if (res.confirm) {
						uni.reLaunch({
							url: '/pages/choseRole/choseRole',
							success() {
								console.log('chenggle0000');
								uni.setStorageSync('tokenDie', 0)
								// uni.removeStorageSync('userInfo')
								// userStoreInfo.loginOut().then(() => {
								// 	uni.showLoading({})
								// 	setTimeout(() => {
								// 		uni.hideLoading()
								// 		// router.replaceAll({
								// 		// 	name: 'choseRole',
								// 		// 	params: {}
								// 		// })
								// 	}, 600)
								// })
							}
						})
						console.log('用户点击确定');
					} else if (res.cancel) {
						console.log('用户点击取消');
					}
				}
			});
		}
		//判断返回状态 执行相应操作
		return response;
	}
	return http.request({
		// baseUrl: 'https://unidemo.dcloud.net.cn/',
		// url: 'ajax/echo/text?name=uni-app',
		// dataType: 'text',
		// data,
		method,
		url,
		data,
		...otherConfig,
	})
}



// 默认全部导出  import api from '@/common/vmeitime-http/'
export default {
	req,
}